1. Field of the Invention
The present invention relates generally to computer network systems. More specifically, the present invention relates to a method and apparatus for balancing the loading of network links of a trunked link.
2. Description of the Prior Art
Personal computers and engineering workstations are commonly inter-coupled into local area networks (LANs) that allow messages to be sent and programs to be downloaded, e.g., from file servers on the LAN. The ETHERNET, originally a joint effort of Intel, Xerox and Digital Equipment Corporations, is an example of a shared-access LAN now in widespread use. The ETHERNET was originally conceived as a ten megabit per second (Mbps) network that allowed every node on the LAN to transmit and receive.
Faster engineering workstations and distributed file systems have seriously increased the traffic placed on ordinary LANs. Many variations in ETHERNET have been developed. Different kinds of ETHERNET are referred to as xe2x80x9c10BASE-Txe2x80x9d, xe2x80x9c10BASE-2xe2x80x9d, xe2x80x9c10BASE-5xe2x80x9d, xe2x80x9c100BASE-VGxe2x80x9d, and xe2x80x9c100BASE-Xxe2x80x9d. Different speeds include ten Mbps, twenty Mbps, one hundred Mbps, and beyond. The ETHERNET 100 BaseFX specification defines transmission over fiber optic cable. 1 Gbit per second EHERNET
Servers are typically at the focus of network activity and are often subjected to parallel access requests from clients which have the same data transfer speed limitations as the server itself.
High performance computers are becoming affordable for use in applications including computing resources, high-performance file servers, and visualization workstations. However, the LANs that are now in use do not provide the capacity that is needed to support these higher performance computers. While bandwidths in the 10-100 Mbps range are sufficient for many applications, the more demanding computing and visualization applications require gigabit-per-second (Gbps) data transfer rates. Such applications include high-quality video applications, live video links, and meeting-support systems. Some of these applications, such as real-time video, will place a more continuous load on the network and require one-to-many (xe2x80x9cmulticastingxe2x80x9d) transmission in addition to pointxe2x80x94point (xe2x80x9cunicastxe2x80x9d) links. Therefore, a reasonable assumption is that LANs may soon require aggregate bandwidths in the 1040 Gbps range for supporting a more or less ordinary community of users simultaneously. Different user communities typically have different needs, and the requirements of any given user community generally expand over time, so there is a need for a high performance LAN that scales gracefully and economically to satisfy the requirements of its user community.
ETHERNET switching provides for the connection of multiple ETHERNET LANs to a central switch. Within the ETHERNET switch, circuit switching allows the simultaneous transport of multiple packets across the switch.
What is needed is a local network switch including a plurality of network ports for transmitting and receiving packets to and from network nodes via network links, each of the packets having a destination address and a source address, the switch being operative to communicate with at least one trunking network device via at least one trunk formed by a plurality of aggregated network links.
It is an object of the present invention to provide a method an apparatus for load balancing in trunked links.
Briefly, a presently preferred embodiment of the present invention includes a local area network switch including a plurality of network ports for transmitting and receiving packets to and from network nodes via network links, each of the packets having a destination address and a source address, the switch being operative to communicate with at least one trunking network device via at least one trunk formed by a plurality of aggregated network links. The present invention provides a method and apparatus for balancing the loading of the aggregated network links of the trunk, thereby increasing the data transmission rate through the trunk.
The switch includes: a packet buffer for temporarily storing a packet received at a source port of the network ports, the packet having a source address value, and a destination address value indicating a destination node that is communicatively coupled with the switch via a data path including a trunk; a packet routing unit for determining a destination trunked port associated with the packet, the destination trunked port including a subset of the plurality of network ports, the destination trunked port being coupled to the destination node via the data path; and a load balancing unit for selecting a destination port associated with the packet from the subset of network ports; whereby transmission loading of the aggregated network links of the trunk is balanced.
In a port-based load balancing embodiment of the present invention, the load balancing unit is responsive to a source port ID value indicating the source port, and is operative to select the destination port as a function of the source port ID value.
In accordance with a first MAC address based load balancing embodiment of the present invention, the load balancing unit is responsive to the source address value of the packet, and is operative to select the destination port as a function of the source address value. In accordance with a second MAC address based load balancing embodiment, the load balancing unit is responsive to the corresponding source and destination address values of the packet, and is operative to select the destination port as a function of the source and destination address values.
An important advantage of a switch according to the present invention is that it provides a method and apparatus for balancing the loading of aggregated network links of a trunk connected to the switch, thereby increasing the data transmission rate through the trunk.
The foregoing and other objects, features, and advantages of the present invention will be apparent from the following detailed description of the preferred embodiment which makes reference to the several figures of the drawing.